import layoutHeaderAside from '@/layout/header-aside'

// 由于懒加载页面太多的话会造成webpack热更新太慢，所以开发环境不使用懒加载，只有生产环境使用懒加载
const _import = require('@/libs/util.import.' + process.env.NODE_ENV)

/**
 * 在主框架内显示
 */
const frameIn = [
  {
    path: '/',
    redirect: { name: 'stock-list' },
    component: layoutHeaderAside,
    children: [
      // 首页
      {
        path: 'index',
        name: 'index',
        meta: {
          auth: true,
        },
        component: _import('system/index'),
      },
      // 演示页面
      {
        path: 'stock/list',
        name: 'stock-list',
        meta: {
          title: '库存列表',
          auth: true,
        },
        component: _import('stock/list'),
      },
      {
        path: 'stock/flow',
        name: 'stock-flow',
        meta: {
          title: '库存记录',
          auth: true,
        },
        component: _import('stock/flow'),
      },
      {
        path: 'stock/delivery',
        name: 'stock-delivery',
        meta: {
          title: '发货单',
          auth: true,
        },
        component: _import('stock/delivery'),
      },
      {
        path: 'stock/purchase',
        name: 'stock-purchase',
        meta: {
          title: '采购单',
          auth: true,
        },
        component: _import('stock/purchase'),
      },
      {
        path: 'stock/add-purchase',
        name: 'add-purchase',
        meta: {
          title: '添加采购单',
          auth: true,
        },
        component: _import('stock/purchase/add'),
      },
      {
        path: 'stock/supplier',
        name: 'stock-supplier',
        meta: {
          title: '采购供应商',
          auth: true,
        },
        component: _import('stock/supplier'),
      },
      // 系统 前端日志
      {
        path: 'log',
        name: 'log',
        meta: {
          title: '前端日志',
          auth: true,
        },
        component: _import('system/log'),
      },
      // 刷新页面 必须保留
      {
        path: 'refresh',
        name: 'refresh',
        hidden: true,
        component: _import('system/function/refresh'),
      },
      // 页面重定向 必须保留
      {
        path: 'redirect/:route*',
        name: 'redirect',
        hidden: true,
        component: _import('system/function/redirect'),
      },
    ],
  },
]

/**
 * 在主框架之外显示
 */
const frameOut = [
  // 登录
  {
    path: '/login',
    name: 'login',
    component: _import('system/login'),
  },
]

/**
 * 错误页面
 */
const errorPage = [
  {
    path: '*',
    name: '404',
    component: _import('system/error/404'),
  },
]

// 导出需要显示菜单的
export const frameInRoutes = frameIn

// 重新组织后导出
export default [...frameIn, ...frameOut, ...errorPage]
